The present disclosure relates to reconstructing the translation table state on boot up after planned and unplanned shutdown. In particular, the present disclosure describes a mechanism to recreate the translation table on start-up under constrained memory conditions. Still more particularly, the present disclosure relates to incrementally persisting the translation table with minimal input/output to protect against data loss after an unplanned shutdown.
Many storage device and systems use a dynamic translation table that keeps track of latest mapping of a logical block to physical media. As and when logical blocks are overwritten, the translation table is updated to point to the new physical media location and the old physical media location is reclaimed by the garbage collection process. Examples of such devices and systems include flash based SSDs, SMR drives, key-value and object stores, etc.
As device capacities increase with active data reduction (e.g. compression and deduplication) techniques, the number of logical blocks (user data) that can be stored on the storage device increases, hence increasing the memory consumption of translation structures. In such systems, a paged translation system is implemented to constrain the memory consumption. A paged translation system stores a subset of translation table entries on the storage device with dynamic ‘page-in’ and ‘page-out’ of translation table entries depending on data access pattern. These systems pose unique challenges with respect to reconstructing the translation table state on boot up after planned and unplanned shutdown.